package HashMaptest;

import java.util.*;
import java.util.function.BiConsumer;

public class test2 {
    public static void main(String[] args) {
/*
            某个班级80名学生，现在需要组成秋游活动，
            班长提供了四个景点依次是（A、B、C、D）,
            每个学生只能选择一个景点，请统计出最终哪个景点想去的人数最多。
        */
        //1.需要先让同学们投票
        //定义一个数组，存储4个景点
        String[] arr = {"A", "B", "C", "D"};
        HashMap<String, Integer> hm = new HashMap<>();
        Set<Map.Entry<String, Integer>> entries = hm.entrySet();
        //利用随机数模拟80个同学的投票，并把投票的结果存储起来
        ArrayList<String> list = new ArrayList<>();
        Random r = new Random();
        for (int i = 0; i < 80; i++) {
            int index = r.nextInt(4);
            String s = arr[index];
            list.add(s);
        }
        for (int i = 0; i < 80; i++) {
            String s = list.get(i);
            //判断当前的景点在map集合当中是否存在
            if (hm.containsKey(s)) {
                //存在
                //先获取当前景点已经被投票的次数\
                //把新的次数再次添加到集合当中
                hm.put(s, hm.get(s) + 1);
            } else {
                //不存在
                hm.put(s, 1);
            }
        }
        hm.forEach((String key, Integer value) -> System.out.println(key + "=" + value));
        //3.求最大值
        int max = 0;
        String maxkey = "";
        Set<Map.Entry<String, Integer>> entries1 = hm.entrySet();
        for (Map.Entry<String, Integer> stringIntegerEntry : entries1) {
            int value = stringIntegerEntry.getValue();
            max = max < value ? value : max;
            if (value == max) {
                maxkey = stringIntegerEntry.getKey();
            }
        }
        System.out.println("max=" + max);
        System.out.println("maxkey=" + maxkey);


    }
}

